package com.elai.baseconfig.domain;

import java.util.Date;

import com.elai.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.elai.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 租户信息对象 base_lessee_info
 *
 * @author elai
 * @date 2022-04-09
 */
public class BaseLesseeInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 租户ID */
    @Excel(name = "租户ID")
    private String lesseeId;

    /** 类型 */
    @Excel(name = "类型")
    private String type;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 联系人名称 */
    @Excel(name = "联系人名称")
    private String contactName;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String contactPhone;

    /** 限制使用人数 */
    @Excel(name = "限制使用人数")
    private Long limitNum;
    private Long limitAppNum;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public Long getLimitAppNum() {
        return limitAppNum;
    }

    public void setLimitAppNum(Long limitAppNum) {
        this.limitAppNum = limitAppNum;
    }
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setLesseeId(String lesseeId)
    {
        this.lesseeId = lesseeId;
    }

    public String getLesseeId()
    {
        return lesseeId;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setBeginDate(Date beginDate)
    {
        this.beginDate = beginDate;
    }

    public Date getBeginDate()
    {
        return beginDate;
    }
    public void setEndDate(Date endDate)
    {
        this.endDate = endDate;
    }

    public Date getEndDate()
    {
        return endDate;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setContactName(String contactName)
    {
        this.contactName = contactName;
    }

    public String getContactName()
    {
        return contactName;
    }
    public void setContactPhone(String contactPhone)
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone()
    {
        return contactPhone;
    }
    public void setLimitNum(Long limitNum)
    {
        this.limitNum = limitNum;
    }

    public Long getLimitNum()
    {
        return limitNum;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("lesseeId", getLesseeId())
            .append("type", getType())
            .append("beginDate", getBeginDate())
            .append("endDate", getEndDate())
            .append("companyName", getCompanyName())
            .append("contactName", getContactName())
            .append("contactPhone", getContactPhone())
            .append("limitNum", getLimitNum())
            .append("address", getAddress())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
